package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Menu;
import com.itheima.pojo.Permission;
import com.itheima.pojo.Role;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RoleDao {
    //根据用户id查询角色信息
    Set<Role> findRoleByUserId(Integer userId);

    Set<Role> findByUserId(Integer userId);

    List<Role> findAll();

    Page<Role> findPage(String queryString);

    void add(Role role);

    void setPermissionIdAndRole(Map<String, Integer> map);

    void setMenuAndRole(Map<String, Integer> map);

    Role findById(Integer roleId);

    List<Permission> findpermissionIdsByroleId(Integer roleId);

    List<Menu> findmenuIdsByroleId(Integer roleId);

    void edit(Role role);

    void deleteAssociationByRoleAndPermission(Integer id);

    void deleteAssociationByRoleAndMenu(Integer id);

    void delete(Integer id);
}
